microprocessor and interfacing